home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / util / time / dutchtim.lha / DutchTime.MOD < prev    next >
Text File  |  1995-05-18  |  3KB  |  149 lines

  1. MODULE Dutchtime;
  2. IMPORT I:=InOut;
  3. FROM Intuition IMPORT  CurrentTime;
  4.  
  5. TYPE  Str     = ARRAY [0..79] OF CHAR;
  6.       n2tp    = RECORD
  7.                  units : ARRAY [1..19] OF Str;
  8.                  tens  : ARRAY [2..9] OF Str;
  9.                 END;     
  10. VAR n2 :n2tp;
  11.  
  12. PROCEDURE init();
  13.  
  14. BEGIN
  15.    n2.units[01]:=('een');
  16.    n2.units[02]:=('twee');
  17.    n2.units[03]:=('drie');
  18.    n2.units[04]:=('vier');
  19.    n2.units[05]:=('vijf');
  20.    n2.units[06]:=('zes');
  21.    n2.units[07]:=('zeven');
  22.    n2.units[08]:=('acht'); 
  23.    n2.units[09]:=('negen');
  24.    n2.units[10]:=('tien');
  25.    n2.units[11]:=('elf');
  26.    n2.units[12]:=('twaalf');
  27.    n2.units[13]:=('dertien');
  28.    n2.units[14]:=('veertien');
  29.    n2.units[15]:=('vijftien');
  30.    n2.units[16]:=('zestien');
  31.    n2.units[17]:=('zeventien');
  32.    n2.units[18]:=('achttien');
  33.    n2.units[19]:=('negentien');
  34.    n2.tens[2]:=('twintig');
  35.    n2.tens[3]:=('dertig');
  36.    n2.tens[4]:=('veertig');
  37.    n2.tens[5]:=('vijftig');
  38. END init;
  39.  
  40. PROCEDURE COMBINE2 (N:LONGINT);
  41.  
  42. VAR H:LONGINT;
  43. BEGIN
  44.    IF (N<20) THEN
  45.       I.WriteString(n2.units[N]);
  46.    ELSE
  47.       H:=N DIV 10;
  48.       I.WriteString(n2.units[N-H*10]);
  49.       I.WriteString('en');
  50.       I.WriteString(n2.tens[H]);
  51.    END;
  52. END COMBINE2;    
  53.  
  54.  
  55. PROCEDURE Tijd12 (X,Y:LONGINT);
  56. BEGIN
  57.   X:=X MOD 12 ;
  58.   I.WriteString           ('Het is ');
  59.  
  60.   IF Y=0               
  61.      THEN
  62.      COMBINE2             (X); 
  63.      I.WriteString        (' uur');
  64.  
  65.  ELSIF Y=1
  66.      THEN
  67.      I.WriteString      ('één minuut over ');
  68.      COMBINE2             (X); 
  69.   
  70.  ELSIF (Y>1) & (Y<15)          
  71.      THEN
  72.      COMBINE2           (Y);
  73.      I.WriteString        (' minuten over ');
  74.      COMBINE2           (X);
  75.  
  76.   ELSIF Y=15           
  77.      THEN
  78.      I.WriteString        ('kwart over ');
  79.      COMBINE2           (X);
  80.  
  81.   ELSIF (Y>15) & (Y<29) 
  82.      THEN
  83.      COMBINE2           (30-Y);
  84.      I.WriteString        (' minuten voor half');
  85.      COMBINE2           (X+1); 
  86.  
  87.   ELSIF Y=29
  88.       THEN
  89.       I.WriteString      ('één minuut voor half ');
  90.       COMBINE2      (X+1);
  91.  
  92.   ELSIF Y=30            
  93.      THEN 
  94.      I.WriteString        ('half ');
  95.      COMBINE2           (X+1);
  96.     
  97.      ELSIF Y=31
  98.         THEN
  99.       I.WriteString      ('één minuut over half');
  100.       COMBINE2      (X+1);
  101.          
  102.   ELSIF (Y>31) & (Y<45) 
  103.      THEN
  104.      COMBINE2           (Y-30);
  105.      I.WriteString        (' minuten over half');
  106.      COMBINE2           (X+1);
  107.  
  108.   ELSIF Y=45 
  109.      THEN
  110.      I.WriteString        ('kwart voor ');
  111.      COMBINE2           (X+1);
  112.   
  113.   ELSIF Y=59
  114.       THEN
  115.       I.WriteString      ('één minuut voor ');
  116.       COMBINE2            (X+1);
  117.   ELSE
  118.      COMBINE2           (60-Y);
  119.      I.WriteString        (' minuten voor ');
  120.      COMBINE2           (X+1);
  121.   END;
  122.  
  123.   I.WriteString           ('.');
  124.   I.WriteLn;
  125.  
  126. END Tijd12;         
  127.  
  128.  
  129. VAR seconds,seconds2,micros,uren,minuten  :LONGINT;
  130.  
  131. BEGIN
  132.     init();
  133.     CurrentTime(seconds , micros);
  134.     
  135.     minuten:=(seconds DIV 60);
  136.     (* Het aantal verstreken uren en minuten in minuten *)
  137.  
  138.     uren:=(minuten DIV 60);
  139.     (*Het aantal verstreken uren in uren*)
  140.     
  141.     (*seconds:=seconds-minuten*60;
  142.     het aantal verstreken seconden*)
  143.  
  144.     minuten:=minuten-uren*60; 
  145.    (*het aantal verstreken minuten*) 
  146.    Tijd12(uren,minuten);     
  147.    I.WriteLn;  
  148. END Dutchtime.
  149.